#ifndef __OTA_MEMCHUNK_H__
#define __OTA_MEMCHUNK_H__

#include <unistd.h>

// 可扩展的缓冲区

typedef struct
{
    char *data;
    size_t size;
} MemChunk;

/**
 * @brief 初始化可变长度缓冲区
 * 
 * @return MemChunk* 
 */
MemChunk *ota_memchunk_init();

/**
 * @brief 追加数据到缓冲区
 * 
 * @param chunk 
 * @param data 
 * @param len 
 * @return int 
 */
int ota_memchunk_append(MemChunk *chunk, void *data, size_t len);

/**
 * @brief 销毁缓冲区
 * 
 * @param chunk 
 */
void ota_memchunk_destroy(MemChunk *chunk);

#endif /* __OTA_MEMCHUNK_H__ */